home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-05-21 | 44.9 KB | 1,264 lines |
- @c This file is meant to be included in any arbitrary piece of
- @c documentation that wishes to describe the info program. Some day
- @c info-stnd.texi should probably use this file instead of duplicating
- @c its contents.
- @c
- @c This file documents the use of the standalone GNU Info program,
- @c versions 2.7 and later.
-
- @ifclear InfoProgVer
- @set InfoProgVer 2.9
- @end ifclear
- @synindex vr cp
- @synindex fn cp
- @synindex ky cp
-
- @heading What is Info?
-
- This text documents the use of the GNU Info program, version
- @value{InfoProgVer}.
-
- @dfn{Info} is a program which is used to view info files on an ASCII
- terminal. @dfn{info files} are the result of processing texinfo files
- with the program @code{makeinfo} or with the Emacs command @code{M-x
- texinfo-format-buffer}. Finally, @dfn{texinfo} is a documentation
- language which allows a printed manual and online documentation (an info
- file) to be produced from a single source file.
-
- @menu
- * Options:: Options you can pass on the command line.
- * Cursor Commands:: Commands which move the cursor within a node.
- * Scrolling Commands:: Commands for moving the node around in a window.
- * Node Commands:: Commands for selecting a new node.
- * Searching Commands:: Commands for searching an info file.
- * Xref Commands:: Commands for selecting cross references.
- * Window Commands:: Commands which manipulate multiple windows.
- * Printing Nodes:: How to print out the contents of a node.
- * Miscellaneous Commands:: A few commands that defy categories.
- * Variables:: How to change the default behaviour of Info.
- * Info for Sys Admins:: How to setup Info. Using special options.
- @ifset STANDALONE
- * GNU Info Global Index:: Global index containing keystrokes, command names,
- variable names, and general concepts.
- @end ifset
- @end menu
-
- @node Options
- @chapter Command Line Options
- @cindex command line options
- @cindex arguments, command line
-
- GNU Info accepts several options to control the initial node being
- viewed, and to specify which directories to search for info files. Here
- is a template showing an invocation of GNU Info from the shell:
-
- @example
- info [--@var{option-name} @var{option-value}] @var{menu-item}@dots{}
- @end example
-
- The following @var{option-names} are available when invoking Info from
- the shell:
-
- @table @code
- @cindex directory path
- @item --directory @var{directory-path}
- @itemx -d @var{directory-path}
- Adds @var{directory-path} to the list of directory paths searched when
- Info needs to find a file. You may issue @code{--directory} multiple
- times; once for each directory which contains info files.
- Alternatively, you may specify a value for the environment variable
- @code{INFOPATH}; if @code{--directory} is not given, the value of
- @code{INFOPATH} is used. The value of @code{INFOPATH} is a colon
- separated list of directory names. If you do not supply
- @code{INFOPATH} or @code{--directory-path} a default path is used.
-
- @item --file @var{filename}
- @itemx -f @var{filename}
- @cindex info file, selecting
- Specifies a particular info file to visit. Instead of visiting the file
- @code{dir}, Info will start with @code{(@var{filename})Top} as the first
- file and node.
-
- @item --node @var{nodename}
- @itemx -n @var{nodename}
- @cindex node, selecting
- Specifies a particular node to visit in the initial file loaded. This
- is especially useful in conjunction with @code{--file}@footnote{Of
- course, you can specify both the file and node in a @code{--node}
- command; but don't forget to escape the open and close parentheses from
- the shell as in: @code{info --node '(emacs)Buffers'}}. You may specify
- @code{--node} multiple times; for an interactive Info, each
- @var{nodename} is visited in its own window, for a non-interactive Info
- (such as when @code{--output} is given) each @var{nodename} is processed
- sequentially.
-
- @item --output @var{filename}
- @itemx -o @var{filename}
- @cindex file, outputting to
- @cindex outputting to a file
- Specify @var{filename} as the name of a file to output to. Each node
- that Info visits will be output to @var{filename} instead of
- interactively viewed. A value of @code{-} for @var{filename} specifies
- the standard output.
-
- @item --subnodes
- @cindex @code{--subnodes}, command line option
- This option only has meaning when given in conjunction with
- @code{--output}. It means to recursively output the nodes appearing in
- the menus of each node being output. Menu items which resolve to
- external info files are not output, and neither are menu items which are
- members of an index. Each node is only output once.
-
- @item --help
- @itemx -h
- Produces a relatively brief description of the available Info options.
-
- @item --version
- @cindex version information
- Prints the version information of Info and exits.
-
- @item @var{menu-item}
- @cindex menu, following
- Remaining arguments to Info are treated as the names of menu items. The
- first argument would be a menu item in the initial node visited, while
- the second argument would be a menu item in the first argument's node.
- You can easily move to the node of your choice by specifying the menu
- names which describe the path to that node. For example,
-
- @example
- info emacs buffers
- @end example
-
- first selects the menu item @samp{Emacs} in the node @samp{(dir)Top},
- and then selects the menu item @samp{Buffers} in the node
- @samp{(emacs)Top}.
-
- @end table
-
- @node Cursor Commands
- @chapter Moving the Cursor
- @cindex cursor, moving
- Many people find that reading screens of text page by page is made
- easier when one is able to indicate particular pieces of text with some
- kind of pointing device. Since this is the case, GNU Info (both the
- Emacs and standalone versions) have several commands which allow you to
- move the cursor about the screen. The notation used in this manual to
- describe keystrokes is identical to the notation used within the Emacs
- manual, and the GNU Readline manual. @xref{Characters, , Character
- Conventions, emacs, the GNU Emacs Manual}, if you are unfamilar with the
- notation.
-
- The following table lists the basic cursor movement commands in Info.
- Each entry consists of the key sequence you should type to execute the
- cursor movement, the @code{M-x}@footnote{@code{M-x} is also a command; it
- invokes @code{execute-extended-command}. @xref{M-x, , Executing an
- extended command, emacs, the GNU Emacs Manual}, for more detailed
- information.} command name (displayed in parentheses), and a short
- description of what the command does. All of the cursor motion commands
- can take an @dfn{numeric} argument (@pxref{Miscellaneous Commands,
- @code{universal-argument}}), to find out how to supply them. With a
- numeric argument, the motion commands are simply executed that
- many times; for example, a numeric argument of 4 given to
- @code{next-line} causes the cursor to move down 4 lines. With a
- negative numeric argument, the motion is reversed; an argument of -4
- given to the @code{next-line} command would cause the cursor to move
- @emph{up} 4 lines.
-
- @table @asis
- @item @code{C-n} (@code{next-line})
- @kindex C-n
- @findex next-line
- Moves the cursor down to the next line.
-
- @item @code{C-p} (@code{prev-line})
- @kindex C-p
- @findex prev-line
- Move the cursor up to the previous line.
-
- @item @code{C-a} (@code{beginning-of-line})
- @kindex C-a, in Info windows
- @findex beginning-of-line
- Move the cursor to the start of the current line.
-
- @item @code{C-e} (@code{end-of-line})
- @kindex C-e, in Info windows
- @findex end-of-line
- Moves the cursor to the end of the current line.
-
- @item @code{C-f} (@code{forward-char})
- @kindex C-f, in Info windows
- @findex forward-char
- Move the cursor forward a character.
-
- @item @code{C-b} (@code{backward-char})
- @kindex C-b, in Info windows
- @findex backward-char
- Move the cursor backward a character.
-
- @item @code{M-f} (@code{forward-word})
- @kindex M-f, in Info windows
- @findex forward-word
- Moves the cursor forward a word.
-
- @item @code{M-b} (@code{backward-word})
- @kindex M-b, in Info winows
- @findex backward-word
- Moves the cursor backward a word.
-
- @item @code{M-<} (@code{beginning-of-node})
- @itemx @code{b}
- @kindex b, in Info winows
- @kindex M-<
- @findex beginning-of-node
- Moves the cursor to the start of the current node.
-
- @item @code{M->} (@code{end-of-node})
- @kindex M->
- @findex end-of-node
- Moves the cursor to the end of the current node.
-
- @item @code{M-r} (@code{move-to-window-line})
- @kindex M-r
- @findex move-to-window-line
- Moves the cursor to a specific line of the window. Without a numeric
- argument, @code{M-r} moves the cursor to the start of the line in the
- center of the window. With a numeric argument of @var{n}, @code{M-r}
- moves the cursor to the start of the @var{n}th line in the window.
- @end table
-
- @node Scrolling Commands
- @chapter Moving Text Within a Window
- @cindex scrolling
-
- Sometimes you are looking at a screenful of text, and only part of the
- current paragraph you are reading is visible on the screen. The
- commands detailed in this section are used to shift which part of the
- current node is visible on the screen.
-
- @table @asis
- @item @code{SPC} (@code{scroll-forward})
- @itemx @code{C-v}
- @kindex SPC, in Info windows
- @kindex C-v
- @findex scroll-forward
- Shift the text in this window up. That is, show more of the node which
- is currently below the bottom of the window. With a numeric argument,
- show that many more lines at the bottom of the window; a numeric
- argument of 4 would shift all of the text in the window up 4 lines
- (discarding the top 4 lines), and show you four new lines at the bottom
- of the window. Without a numeric argument, @key{SPC} takes the bottom
- two lines of the window and places them at the top of the window,
- redisplaying almost a completely new screenful of lines.
-
- @item @code{DEL} (@code{scroll-backward})
- @itemx @code{M-v}
- @kindex DEL, in Info windows
- @kindex M-v
- @findex scroll-backward
- Shift the text in this window down. The inverse of
- @code{scroll-forward}.
-
- @end table
-
- @cindex scrolling through node structure
- The @code{scroll-forward} and @code{scroll-backward} commands can also
- move forward and backward through the node structure of the file. If
- you press @key{SPC} while viewing the end of a node, or @key{DEL} while
- viewing the beginning of a node, what happens is controlled by the
- variable @code{scroll-behaviour}. @xref{Variables,
- @code{scroll-behaviour}}, for more information.
-
- @table @asis
- @item @code{C-l} (@code{redraw-display})
- @kindex C-l
- @findex redraw-display
- Redraw the display from scratch, or shift the line containing the cursor
- to a specified location. With no numeric argument, @samp{C-l} clears
- the screen, and then redraws its entire contents. Given a numeric
- argument of @var{n}, the line containing the cursor is shifted so that
- it is on the @var{n}th line of the window.
-
- @item @code{C-x w} (@code{toggle-wrap})
- @kindex C-w
- @findex toggle-wrap
- Toggles the state of line wrapping in the current window. Normally,
- lines which are longer than the screen width @dfn{wrap}, i.e., they are
- continued on the next line. Lines which wrap have a @samp{\} appearing
- in the rightmost column of the screen. You can cause such lines to be
- terminated at the rightmost column by changing the state of line
- wrapping in the window with @code{C-x w}. When a line which needs more
- space than one screen width to display is displayed, a @samp{$} appears
- in the rightmost column of the screen, and the remainder of the line is
- invisible.
- @end table
-
- @node Node Commands
- @chapter Selecting a New Node
- @cindex nodes, selection of
-
- This section details the numerous Info commands which select a new node
- to view in the current window.
-
- The most basic node commands are @samp{n}, @samp{p}, @samp{u}, and
- @samp{l}.
-
- When you are viewing a node, the top line of the node contains some Info
- @dfn{pointers} which describe where the next, previous, and up nodes
- are. Info uses this line to move about the node structure of the file
- when you use the following commands:
-
- @table @asis
- @item @code{n} (@code{next-node})
- @kindex n
- @findex next-node
- Selects the `Next' node.
-
- @item @code{p} (@code{prev-node})
- @kindex p
- @findex prev-node
- Selects the `Prev' node.
-
- @item @code{u} (@code{up-node})
- @kindex u
- @findex up-node
- Selects the `Up' node.
- @end table
-
- You can easily select a node that you have already viewed in this window
- by using the @samp{l} command -- this name stands for "last", and
- actually moves through the list of already visited nodes for this
- window. @samp{l} with a negative numeric argument moves forward through
- the history of nodes for this window, so you can quickly step between
- two adjacent (in viewing history) nodes.
-
- @table @asis
- @item @code{l} (@code{history-node})
- @kindex l
- @findex history-node
- Selects the most recently selected node in this window.
- @end table
-
- Two additional commands make it easy to select the most commonly
- selected nodes; they are @samp{t} and @samp{d}.
-
- @table @asis
- @item @code{t} (@code{top-node})
- @kindex t
- @findex top-node
- Selects the node @samp{Top} in the current info file.
-
- @item @code{d} (@code{dir-node})
- @kindex d
- @findex dir-node
- Selects the directory node (i.e., the node @samp{(dir)}).
- @end table
-
- Here are some other commands which immediately result in the selection
- of a different node in the current window:
-
- @table @asis
- @item @code{<} (@code{first-node})
- @kindex <
- @findex first-node
- Selects the first node which appears in this file. This node is most
- often @samp{Top}, but it doesn't have to be.
-
- @item @code{>} (@code{last-node})
- @kindex >
- @findex last-node
- Selects the last node which appears in this file.
-
- @item @code{]} (@code{global-next-node})
- @kindex ]
- @findex global-next-node
- Moves forward or down through node structure. If the node that you are
- currently viewing has a @samp{Next} pointer, that node is selected.
- Otherwise, if this node has a menu, the first menu item is selected. If
- there is no @samp{Next} and no menu, the same process is tried with the
- @samp{Up} node of this node.
-
- @item @code{[} (@code{global-prev-node})
- @kindex [
- @findex global-prev-node
- Moves backward or up through node structure. If the node that you are
- currently viewing has a @samp{Prev} pointer, that node is selected.
- Otherwise, if the node has an @samp{Up} pointer, that node is selected,
- and if it has a menu, the last item in the menu is selected.
- @end table
-
- You can get the same behaviour as @code{global-next-node} and
- @code{global-prev-node} while simply scrolling through the file with
- @key{SPC} and @key{DEL}; @xref{Variables, @code{scroll-behaviour}}, for
- more information.
-
- @table @asis
- @item @code{g} (@code{goto-node})
- @kindex g
- @findex goto-node
- Reads the name of a node and selects it. No completion is done while
- reading the node name, since the desired node may reside in a separate
- file. The node must be typed exactly as it appears in the info file. A
- file name may be included as with any node specification, for example
-
- @example
- @code{g(emacs)Buffers}
- @end example
-
- finds the node @samp{Buffers} in the info file @file{emacs}.
-
- @item @code{C-x k} (@code{kill-node})
- @kindex C-x k
- @findex kill-node
- Kills a node. The node name is prompted for in the echo area, with a
- default of the current node. @dfn{Killing} a node means that Info tries
- hard to forget about it, removing it from the list of history nodes kept
- for the window where that node is found. Another node is selected in
- the window which contained the killed node.
-
- @item @code{C-x C-f} (@code{view-file})
- @kindex C-x C-f
- @findex view-file
- Reads the name of a file and selects the entire file. The command
- @example
- @code{C-x C-f @var{filename}}
- @end example
- is equivalent to typing
- @example
- @code{g(@var{filename})*}
- @end example
-
- @item @code{C-x C-b} (@code{list-visited-nodes})
- @kindex C-x C-b
- @findex list-visited-nodes
- Makes a window containing a menu of all of the currently visited nodes.
- This window becomes the selected window, and you may use the standard
- Info commands within it.
-
- @item @code{C-x b} (@code{select-visited-node})
- @kindex C-x b
- @findex select-visited-node
- Selects a node which has been previously visited in a visible window.
- This is similar to @samp{C-x C-b} followed by @samp{m}, but no window is
- created.
- @end table
-
- @node Searching Commands
- @chapter Searching an Info File
- @cindex searching
-
- GNU Info allows you to search for a sequence of characters throughout an
- entire info file, search through the indices of an info file, or find
- areas within an info file which discuss a particular topic.
-
- @table @asis
- @item @code{s} (@code{search})
- @kindex s
- @findex search
- Reads a string in the echo area and searches for it.
-
- @item @code{C-s} (@code{isearch-forward})
- @kindex C-s
- @findex isearch-forward
- Interactively searches forward through the info file for a string as you
- type it.
-
- @item @code{C-r} (@code{isearch-backward})
- @kindex C-r
- @findex isearch-backward
- Interactively searches backward through the info file for a string as
- you type it.
-
- @item @code{i} (@code{index-search})
- @kindex i
- @findex index-search
- Looks up a string in the indices for this info file, and selects a node
- where the found index entry points to.
-
- @item @code{,} (@code{next-index-match})
- @kindex ,
- @findex next-index-match
- Moves to the node containing the next matching index item from the last
- @samp{i} command.
- @end table
-
- The most basic searching command is @samp{s} (@code{search}). The
- @samp{s} command prompts you for a string in the echo area, and then
- searches the remainder of the info file for an ocurrence of that string.
- If the string is found, the node containing it is selected, and the
- cursor is left positioned at the start of the found string. Subsequent
- @samp{s} commands show you the default search string within @samp{[} and
- @samp{]}; pressing @key{RET} instead of typing a new string will use the
- default search string.
-
- @dfn{Incremental searching} is similar to basic searching, but the
- string is looked up while you are typing it, instead of waiting until
- the entire search string has been specified.
-
- @node Xref Commands
- @chapter Selecting Cross References
-
- We have already discussed the @samp{Next}, @samp{Prev}, and @samp{Up}
- pointers which appear at the top of a node. In addition to these
- pointers, a node may contain other pointers which refer you to a
- different node, perhaps in another info file. Such pointers are called
- @dfn{cross references}, or @dfn{xrefs} for short.
-
- @menu
- * Parts of an Xref:: What a cross reference is made of.
- * Selecting Xrefs:: Commands for selecting menu or note items.
- @end menu
-
- @node Parts of an Xref
- @section Parts of an Xref
-
- Cross references have two major parts: the first part is called the
- @dfn{label}; it is the name that you can use to refer to the cross
- reference, and the second is the @dfn{target}; it is the full name of
- the node that the cross reference points to.
-
- The target is separated from the label by a colon @samp{:}; first the
- label appears, and then the target. For example, in the sample menu
- cross reference below, the single colon separates the label from the
- target.
-
- @example
- * Foo Label: Foo Target. More information about Foo.
- @end example
-
- Note the @samp{.} which ends the name of the target. The @samp{.} is
- not part of the target; it serves only to let Info know where the target
- name ends.
-
- A shorthand way of specifying references allows two adjacent colons to
- stand for a target name which is the same as the label name:
-
- @example
- * Foo Commands:: Commands pertaining to Foo.
- @end example
-
- In the above example, the name of the target is the same as the name of
- the label, in this case @code{Foo Commands}.
-
- You will normally see two types of cross references while viewing nodes:
- @dfn{menu} references, and @dfn{note} references. Menu references
- appear within a node's menu; they begin with a @samp{*} at the beginning
- of a line, and continue with a label, a target, and a comment which
- describes what the contents of the node pointed to contains.
-
- Note references appear within the body of the node text; they begin with
- @code{*Note}, and continue with a label and a target.
-
- Like @samp{Next}, @samp{Prev} and @samp{Up} pointers, cross references
- can point to any valid node. They are used to refer you to a place
- where more detailed information can be found on a particular subject.
- Here is a cross reference which points to a node within the Texinfo
- documentation: @xref{xref, , Writing an Xref, texinfo, the Texinfo
- Manual}, for more information on creating your own texinfo cross
- references.
-
- @node Selecting Xrefs
- @section Selecting Xrefs
-
- The following table lists the Info commands which operate on menu items.
-
- @table @asis
- @item @code{1} (@code{menu-digit})
- @itemx @code{2} @dots{} @code{9}
- @cindex 1 @dots{} 9, in Info windows
- @kindex 1 @dots{} 9, in Info windows
- @findex menu-digit
- Within an Info window, pressing a single digit, (such as @samp{1}),
- selects that menu item, and places its node in the current window.
- For convenience, there is one exception; pressing @samp{0} selects the
- @emph{last} item in the node's menu.
-
- @item @code{0} (@code{last-menu-item})
- @kindex 0, in Info windows
- @findex last-menu-item
- Select the last item in the current node's menu.
-
- @item @code{m} (@code{menu-item})
- @kindex m
- @findex menu-item
- Reads the name of a menu item in the echo area and selects its node.
- Completion is available while reading the menu label.
-
- @item @code{M-x find-menu}
- @findex find-menu
- Moves the cursor to the start of this node's menu.
- @end table
-
- This table lists the Info commands which operate on note cross references.
-
- @table @asis
- @item @code{f} (@code{xref-item})
- @itemx @code{r}
- @kindex f
- @kindex r
- @findex xref-item
- Reads the name of a note cross reference in the echo area and selects
- its node. Completion is available while reading the cross reference
- label.
- @end table
-
- Finally, the next few commands operate on menu or note references alike:
-
- @table @asis
- @item @code{TAB} (@code{move-to-next-xref})
- @kindex TAB, in Info windows
- @findex move-to-next-xref
- Moves the cursor to the start of the next nearest menu item or note
- reference in this node. You can then use @key{RET}
- (@code{select-reference-this-line} to select the menu or note reference.
-
- @item @code{M-TAB} (@code{move-to-prev-xref})
- @kindex M-TAB, in Info windows
- @findex move-to-prev-xref
- Moves the cursor the start of the nearest previous menu item or note
- reference in this node.
-
- @item @code{RET} (@code{select-reference-this-line})
- @kindex RET, in Info windows
- @findex select-reference-this-line
- Selects the menu item or note reference appearing on this line.
- @end table
-
- @node Window Commands
- @chapter Manipulating Multiple Windows
- @cindex windows, manipulating
-
- A @dfn{window} is a place to show the text of a node. Windows have a
- view area where the text of the node is displayed, and an associated
- @dfn{mode line}, which briefly describes the node being viewed.
-
- GNU Info supports multiple windows appearing in a single screen; each
- window is separated from the next by its modeline. At any time, there
- is only one @dfn{active} window, that is, the window in which the cursor
- appears. There are commands available for creating windows, changing
- the size of windows, selecting which window is active, and for deleting
- windows.
-
- @menu
- * The Mode Line:: What appears in the mode line?
- * Basic Windows:: Manipulating windows in Info.
- * The Echo Area:: Used for displaying errors and reading input.
- @end menu
-
- @node The Mode Line
- @section The Mode Line
-
- A @dfn{mode line} is a line of inverse video which appears at the bottom
- of an info window. It describes the contents of the window just above
- it; this information includes the name of the file and node appearing in
- that window, the number of screen lines it takes to display the node,
- and the percentage of text that is above the top of the window. It can
- also tell you if the indirect tags table for this info file needs to be
- updated, and whether or not the info file was compressed when stored on
- disk.
-
- Here is a sample mode line for a window containing an uncompressed file
- named @file{dir}, showing the node @samp{Top}.
-
- @example
- -----Info: (dir)Top, 40 lines --Top---------------------------------------
- ^^ ^ ^^^ ^^
- (file)Node #lines where
- @end example
-
- When a node comes from a file which is compressed on disk, this is
- indicated in the mode line with two small @samp{z}'s. In addition, if
- the info file containing the node has been split into subfiles, the name
- of the subfile containing the node appears in the modeline as well:
-
- @example
- --zz-Info: (emacs)Top, 291 lines --Top-- Subfile: emacs-1.Z---------------
- @end example
-
- When Info makes a node internally, such that there is no corresponding
- info file on disk, the name of the node is surrounded by asterisks
- (@samp{*}). The name itself tells you what the contents of the window
- are; the sample mode line below shows an internally constructed node
- showing possible completions:
-
- @example
- -----Info: *Completions*, 7 lines --All-----------------------------------
- @end example
-
- @node Basic Windows
- @section Window Commands
-
- It can be convenient to view more than one node at a time. To allow
- this, Info can display more than one @dfn{window}. Each window has its
- own mode line (@pxref{The Mode Line}) and history of nodes viewed in that
- window (@pxref{Node Commands, , @code{history-node}}).
-
- @table @asis
- @item @code{C-x o} (@code{next-window})
- @cindex windows, selecting
- @kindex C-x o
- @findex next-window
- Selects the next window on the screen. Note that the echo area can only be
- selected if it is already in use, and you have left it temporarily.
- Normally, @samp{C-x o} simply moves the cursor into the next window on
- the screen, or if you are already within the last window, into the first
- window on the screen. Given a numeric argument, @samp{C-x o} moves over
- that many windows. A negative argument causes @samp{C-x o} to select
- the previous window on the screen.
-
- @item @code{M-x prev-window}
- @findex prev-window
- Selects the previous window on the screen. This is identical to
- @samp{C-x o} with a negative argument.
-
- @item @code{C-x 2} (@code{split-window})
- @cindex windows, creating
- @kindex C-x 2
- @findex split-window
- Splits the current window into two windows, both showing the same node.
- Each window is one half the size of the original window, and the cursor
- remains in the original window. The variable @code{automatic-tiling}
- can cause all of the windows on the screen to be resized for you
- automatically, please @pxref{Variables, , automatic-tiling} for more
- information.
-
- @item @code{C-x 0} (@code{delete-window})
- @cindex windows, deleting
- @kindex C-x 0
- @findex delete-window
- Deletes the current window from the screen. If you have made too many
- windows and your screen appears cluttered, this is the way to get rid of
- some of them.
-
- @item @code{C-x 1} (@code{keep-one-window})
- @kindex C-x 1
- @findex keep-one-window
- Deletes all of the windows excepting the current one.
-
- @item @code{ESC C-v} (@code{scroll-other-window})
- @kindex ESC C-v, in Info windows
- @findex scroll-other-window
- Scrolls the other window, in the same fashion that @samp{C-v} might
- scroll the current window. Given a negative argument, the "other"
- window is scrolled backward.
-
- @item @code{C-x ^} (@code{grow-window})
- @kindex C-x ^
- @findex grow-window
- Grows (or shrinks) the current window. Given a numeric argument, grows
- the current window that many lines; with a negative numeric argument,
- the window is shrunk instead.
-
- @item @code{C-x t} (@code{tile-windows})
- @cindex tiling
- @kindex C-x t
- @findex tile-windows
- Divides the available screen space among all of the visible windows.
- Each window is given an equal portion of the screen in which to display
- its contents. The variable @code{automatic-tiling} can cause
- @code{tile-windows} to be called when a window is created or deleted.
- @xref{Variables, , @code{automatic-tiling}}.
- @end table
-
- @node The Echo Area
- @section The Echo Area
- @cindex echo area
-
- The @dfn{echo area} is a one line window which appears at the bottom of
- the screen. It is used to display informative or error messages, and to
- read lines of input from you when that is necessary. Almost all of the
- commands available in the echo area are identical to their Emacs
- counterparts, so please refer to that documentation for greater depth of
- discussion on the concepts of editing a line of text. The following
- table briefly lists the commands that are available while input is being
- read in the echo area:
-
- @table @asis
- @item @code{C-f} (@code{echo-area-forward})
- @kindex C-f, in the echo area
- @findex echo-area-forward
- Moves forward a character.
-
- @item @code{C-b} (@code{echo-area-backward})
- @kindex C-b, in the echo area
- @findex echo-area-backward
- Moves backward a character.
-
- @item @code{C-a} (@code{echo-area-beg-of-line})
- @kindex C-a, in the echo area
- @findex echo-area-beg-of-line
- Moves to the start of the input line.
-
- @item @code{C-e} (@code{echo-area-end-of-line})
- @kindex C-e, in the echo area
- @findex echo-area-end-of-line
- Moves to the end of the input line.
-
- @item @code{M-f} (@code{echo-area-forward-word})
- @kindex M-f, in the echo area
- @findex echo-area-forward-word
- Moves forward a word.
-
- @item @code{M-b} (@code{echo-area-backward-word})
- @kindex M-b, in the echo area
- @findex echo-area-backward-word
- Moves backward a word.
-
- @item @code{C-d} (@code{echo-area-delete})
- @kindex C-d, in the echo area
- @findex echo-area-delete
- Deletes the character under the cursor.
-
- @item @code{DEL} (@code{echo-area-rubout})
- @kindex DEL, in the echo area
- @findex echo-area-rubout
- Deletes the character behind the cursor.
-
- @item @code{C-g} (@code{echo-area-abort})
- @kindex C-g, in the echo area
- @findex echo-area-abort
- Cancels or quits the current operation. If completion is being read,
- @samp{C-g} discards the text of the input line which does not match any
- completion. If the input line is empty, @samp{C-g} aborts the calling
- function.
-
- @item @code{RET} (@code{echo-area-newline})
- @kindex RET, in the echo area
- @findex echo-area-newline
- Accepts (or forces completion of) the current input line.
-
- @item @code{C-q} (@code{echo-area-quoted-insert})
- @kindex C-q, in the echo area
- @findex echo-area-quoted-insert
- Inserts the next character verbatim. This is how you can insert control
- characters into a search string, for example.
-
- @item @var{printing character} (@code{echo-area-insert})
- @kindex printing characters, in the echo area
- @findex echo-area-insert
- Inserts the character.
-
- @item @code{M-TAB} (@code{echo-area-tab-insert})
- @kindex M-TAB, in the echo area
- @findex echo-area-tab-insert
- Inserts a TAB character.
-
- @item @code{C-t} (@code{echo-area-transpose-chars})
- @kindex C-t, in the echo area
- @findex echo-area-transpose-chars
- Transposes the characters at the cursor.
- @end table
-
- The next group of commands deal with @dfn{killing}, and @dfn{yanking}
- text. For an in depth discussion of killing and yanking,
- @pxref{Killing, , Killing and Deleting, emacs, the GNU Emacs Manual}
-
- @table @asis
- @item @code{M-d} (@code{echo-area-kill-word})
- @kindex M-d, in the echo area
- @findex echo-area-kill-word
- Kills the word following the cursor.
-
- @item @code{M-DEL} (@code{echo-area-backward-kill-word})
- @kindex M-DEL, in the echo area
- @findex echo-area-backward-kill-word
- Kills the word preceding the cursor.
-
- @item @code{C-k} (@code{echo-area-kill-line})
- @kindex C-k, in the echo area
- @findex echo-area-kill-line
- Kills the text from the cursor to the end of the line.
-
- @item @code{C-x DEL} (@code{echo-area-backward-kill-line})
- @kindex C-x DEL, in the echo area
- @findex echo-area-backward-kill-line
- Kills the text from the cursor to the beginning of the line.
-
- @item @code{C-y} (@code{echo-area-yank})
- @kindex C-y, in the echo area
- @findex echo-area-yank
- Yanks back the contents of the last kill.
-
- @item @code{M-y} (@code{echo-area-yank-pop})
- @kindex M-y, in the echo area
- @findex echo-area-yank-pop
- Yanks back a previous kill, removing the last yanked text first.
- @end table
-
- Sometimes when reading input in the echo area, the command that needed
- input will only accept one of a list of several choices. The choices
- represent the @dfn{possible completions}, and you must respond with one
- of them. Since there are a limited number of responses you can make,
- Info allows you to abbreviate what you type, only typing as much of the
- response as is necessary to uniquely identify it. In addition, you can
- request Info to fill in as much of the response as is possible; this
- is called @dfn{completion}.
-
- The following commands are available when completing in the echo area:
-
- @table @asis
- @item @code{TAB} (@code{echo-area-complete})
- @itemx @code{SPC}
- @kindex TAB, in the echo area
- @kindex SPC, in the echo area
- @findex echo-area-complete
- Inserts as much of a completion as is possible.
-
- @item @code{?} (@code{echo-area-possible-completions})
- @kindex ?, in the echo area
- @findex echo-area-possible-completions
- Displays a window containing a list of the possible completions of what
- you have typed so far. For example, if the available choices are:
- @example
- bar
- foliate
- food
- forget
- @end example
- and you have typed an @samp{f}, followed by @samp{?}, the possible
- completions would contain:
- @example
- foliate
- food
- forget
- @end example
- i.e., all of the choices which begin with @samp{f}. Pressing @key{SPC}
- or @key{TAB} would result in @samp{fo} appearing in the echo area, since
- all of the choices which begin with @samp{f} continue with @samp{o}.
- Now, typing @samp{l} followed by @samp{TAB} results in @samp{foliate}
- appearing in the echo area, since that is the only choice which begins
- with @samp{fol}.
-
- @item @code{ESC C-v} (@code{echo-area-scroll-completions-window})
- @kindex ESC C-v, in the echo area
- @findex echo-area-scroll-completions-window
- Scrolls the completions window, if that is visible, or the "other"
- window if not.
- @end table
-
- @node Printing Nodes
- @chapter Printing Out Nodes
- @cindex printing
-
- You may wish to print out the contents of a node as a quick reference
- document for later use. Info provides you with a command for doing
- this. In general, we recommend that you use @TeX{} to format the
- document and print sections of it, by running @code{tex} on the texinfo
- source file.
-
- @table @asis
- @item @code{M-x print-node}
- @findex print-node
- @cindex INFO_PRINT_COMMAND, environment variable
- Pipes the contents of the current node through the command in the
- environment variable @code{INFO_PRINT_COMMAND}. If the variable doesn't
- exist, the node is simply piped to @code{lpr}.
- @end table
-
- @node Miscellaneous Commands
- @chapter Miscellaneous Commands
-
- GNU Info contains several commands which self-document GNU Info:
-
- @table @asis
- @item @code{M-x describe-command}
- @cindex functions, describing
- @cindex commands, describing
- @findex describe-command
- Reads the name of an Info command in the echo area and then displays a
- brief description of what that command does.
-
- @item @code{M-x describe-key}
- @cindex keys, describing
- @findex describe-key
- Reads a key sequence in the echo area, and then displays the name and
- documentation of the Info command that the key sequence invokes.
-
- @item @code{M-x describe-variable}
- Reads the name of a variable in the echo area and then displays a brief
- description of what the variable affects.
-
- @item @code{M-x where-is}
- @findex where-is
- Reads the name of an Info command in the echo area, and then displays
- a key sequence which can be typed in order to invoke that command.
-
- @item @code{C-h} (@code{get-help-window})
- @itemx @code{?}
- @kindex C-h
- @kindex ?, in Info windows
- @findex get-help-window
- Creates (or moves into) the window displaying @code{*Help*}, and places
- a node containing a quick reference card into it. This window displays
- the most concise information about GNU Info available.
-
- @item @code{h} (@code{get-info-help-node})
- @kindex h
- @findex get-info-help-node
- Tries hard to visit the node @code{(info)Help}. The info file
- @file{info.texi} distributed with GNU Info contains this node. Of
- course, the file must first be processed with @code{makeinfo}, and then
- placed into the location of your info directory.
- @end table
-
- Here are the commands for creating a numeric argument:
-
- @table @asis
- @item @code{C-u} (@code{universal-argument})
- @cindex numeric arguments
- @kindex C-u
- @findex universal-argument
- Starts (or multiplies by 4) the current numeric argument. @samp{C-u} is
- a good way to give a small numeric argument to cursor movement or
- scrolling commands; @samp{C-u C-v} scrolls the screen 4 lines, while
- @samp{C-u C-u C-n} moves the cursor down 16 lines.
-
- @item @code{M-1} (@code{add-digit-to-numeric-arg})
- @itemx @code{M-2} @dots{} @code{M-9}
- @kindex M-1 @dots{} M-9
- @findex add-digit-to-numeric-arg
- Adds the digit value of the invoking key to the current numeric
- argument. Once Info is reading a numeric argument, you may just type
- the digits of the argument, without the Meta prefix. For example, you
- might give @samp{C-l} a numeric argument of 32 by typing:
-
- @example
- @kbd{C-u 3 2 C-l}
- @end example
- or
- @example
- @kbd{M-3 2 C-l}
- @end example
- @end table
-
- @samp{C-g} is used to abort the reading of a multi-character key
- sequence, to cancel lengthy operations (such as multi-file searches) and
- to cancel reading input in the echo area.
-
- @table @asis
- @item @code{C-g} (@code{abort-key})
- @cindex cancelling typeahead
- @cindex cancelling the current operation
- @kindex C-g, in Info windows
- @findex abort-key
- Cancels current operation.
- @end table
-
- The @samp{q} command of Info simply quits running Info.
-
- @table @asis
- @item @code{q} (@code{quit})
- @cindex quitting
- @kindex q
- @findex quit
- Exits GNU Info.
- @end table
-
- If the operating system tells GNU Info that the screen is 60 lines tall,
- and it is actually only 40 lines tall, here is a way to tell Info that
- the operating system is correct.
-
- @table @asis
- @item @code{M-x set-screen-height}
- @findex set-screen-height
- @cindex screen, changing the height of
- Reads a height value in the echo area and sets the height of the
- displayed screen to that value.
- @end table
-
- Finally, Info provides a convenient way to display footnotes which might
- be associated with the current node that you are viewing:
-
- @table @asis
- @item @code{ESC C-f} (@code{show-footnotes})
- @kindex ESC C-f
- @findex show-footnotes
- @cindex footnotes, displaying
- Shows the footnotes (if any) associated with the current node in another
- window. You can have Info automatically display the footnotes
- associated with a node when the node is selected by setting the variable
- @code{automatic-footnotes}. @xref{Variables, , @code{automatic-footnotes}}.
- @end table
-
- @node Variables
- @chapter Manipulating Variables
-
- GNU Info contains several @dfn{variables} whose values are looked at by various
- Info commands. You can change the values of these variables, and thus
- change the behaviour of Info to more closely match your environment and
- info file reading manner.
-
- @table @asis
- @item @code{M-x set-variable}
- @cindex variables, setting
- @findex set-variable
- Reads the name of a variable, and the value for it, in the echo area and
- then sets the variable to that value. Completion is available when
- reading the variable name; often, completion is available when reading
- the value to give to the variable, but that depends on the variable
- itself. If a variable does @emph{not} supply multiple choices to
- complete over, it expects a numeric value.
-
- @item @code{M-x describe-variable}
- @cindex variables, describing
- @findex describe-variable
- Reads the name of a variable in the echo area and then displays a brief
- description of what the variable affects.
- @end table
-
- Here is a list of the variables that you can set in Info.
-
- @table @code
- @item automatic-footnotes
- @vindex automatic-footnotes
- When set to @code{On}, footnotes appear and disappear automatically.
- This variable is @code{On} by default. When a node is selected, a
- window containing the footnotes which appear in that node is created,
- and the footnotes are displayed within the new window. The window that
- Info creates to contain the footnotes is called @samp{*Footnotes*}. If
- a node is selected which contains no footnotes, and a @samp{*Footnotes*}
- window is on the screen, the @samp{*Footnotes*} window is deleted.
- Footnote windows created in this fashion are not automatically tiled so
- that they can use as little of the display as is possible.
-
- @item automatic-tiling
- @vindex automatic-tiling
- When set to @code{On}, creating or deleting a window resizes other
- windows. This variable is @code{Off} by default. Normally, typing
- @samp{C-x 2} divides the current window into two equal parts. When
- @code{automatic-tiling} is set to @code{On}, all of the windows are
- resized automatically, keeping an equal number of lines visible in each
- window. There are exceptions to the automatic tiling; specifically, the
- windows @samp{*Completions*} and @samp{*Footnotes*} are @emph{not}
- resized through automatic tiling; they remain their original size.
-
- @item visible-bell
- @vindex visible-bell
- When set to @code{On}, GNU Info attempts to flash the screen instead of
- ringing the bell. This variable is @code{Off} by default. Of course,
- Info can only flash the screen if the terminal allows it; in the case
- that the terminal does not allow it, the setting of this variable has no
- effect. However, you can make Info perform quietly by setting the
- @code{errors-ring-bell} variable to @code{Off}.
-
- @item errors-ring-bell
- @vindex errors-ring-bell
- When set to @code{On}, errors cause the bell to ring. The default
- setting of this variable is @code{On}.
-
- @item gc-compressed-files
- @vindex gc-compressed-files
- When set to @code{On}, Info garbage collects files which had to be
- uncompressed. The default value of this variable is @code{Off}.
- Whenever a node is visited in Info, the info file containing that node
- is read into core, and Info reads information about the tags and nodes
- contained in that file. Once the tags information is read by Info, it
- is never forgotten. However, the actual text of the nodes does not need
- to remain in core unless a particular info window needs it. For
- non-compressed files, the text of the nodes does not remain in core when
- it is no longer in use. But de-compressing a file can be a time
- consuming operation, and so Info tries hard not to do it twice.
- @code{gc-compressed-files} tells Info it is okay to garbage collect the
- text of the nodes of a file which was compressed on disk.
-
- @item show-index-match
- @vindex show-index-match
- When set to @code{On}, the portion of the matched search string is
- highlighted in the message which explains where the matched search
- string was found. The default value of this variable is @code{On}.
- When Info displays the location where an index match was found,
- (@pxref{Searching Commands, , @code{next-index-match}}), the portion of the
- string that you had typed is highlighted by displaying it in the inverse
- case from its surrounding characters.
-
- @item scroll-behaviour
- @vindex scroll-behaviour
- Controls what happens when forward scrolling is requested at the end of
- a node, or when backward scrolling is requested at the beginning of a
- node. The default value for this variable is @code{Continuous}. There
- are three possible values for this variable:
-
- @table @code
- @item Continuous
- Tries to get the first item in this node's menu, or failing that, the
- @samp{Next} node, or failing that, the @samp{Next} of the @samp{Up}.
- This behaviour is identical to using the @samp{]}
- (@code{global-next-node}) and @samp{[} (@code{global-prev-node})
- commands.
-
- @item Next Only
- Only tries to get the @samp{Next} node.
-
- @item Page Only
- Simply gives up, changing nothing. If @code{scroll-behaviour} is
- @code{Page Only}, no scrolling command can change the node that is being
- viewed.
- @end table
-
- @item scroll-step
- @vindex scroll-step
- The number of lines to scroll when the cursor moves out of the window.
- Scrolling happens automatically if the cursor has moved out of the
- visible portion of the node text when it is time to display. Usually
- the scrolling is done so as to put the cursor on the center line of the
- current window. However, if the variable @code{scroll-step} has a
- nonzero value, Info attempts to scroll the node text by that many lines;
- if that is enough to bring the cursor back into the window, that is what
- is done. The default value of this variable is 0, thus placing the
- cursor (and the text it is attached to) in the center of the window.
- Setting this variable to 1 causes a kind of "smooth scrolling" which
- some people prefer.
-
- @item ISO-Latin
- @cindex ISO Latin characters
- @vindex ISO-Latin
- When set to @code{On}, Info accepts and displays ISO Latin characters.
- By default, Info assumes an ASCII character set. @code{ISO-Latin} tells
- Info that it is running in an environment where the European standard
- character set is in use, and allows you to input such characters to
- Info, as well as display them.
- @end table
-
- @node Info for Sys Admins
- @chapter Info for System Administrators
-
- This text describes some common ways of setting up an Info heierarchy
- from scratch, and details the various options that are available when
- installing Info. This text is designed for the person who is installing
- GNU Info on the system; although users may find the information present
- in this section interesting, none of it is vital to understanding how to
- use GNU Info.
-
- @menu
- * Setting the INFOPATH:: Where are my Info files kept?
- * Editing the DIR node:: What goes in `DIR', and why?
- * Storing Info files:: Alternate formats allow flexibilty in setups.
- * Using `localdir':: Building DIR on the fly.
- * Example setups:: Some common ways to origanize Info files.
- @end menu
-
- @node Setting the INFOPATH
- @section Setting the INFOPATH
- Where are my Info files kept?
-
- @node Editing the DIR node
- @section Editing the DIR node
- What goes in `DIR', and why?
-
- @node Storing Info files
- @section Storing Info files
- Alternate formats allow flexibilty in setups.
-
- @node Using `localdir'
- @section Using `localdir'
- Building DIR on the fly.
-
- @node Example setups
- @section Example setups
- Some common ways to origanize Info files.
-
- @ifset STANDALONE
- @node GNU Info Global Index
- @appendix Global Index
- @printindex cp
- @end ifset
-